Various computing devices use language understanding applications (e.g., digital assistant applications) to receive inputs from users. Language understanding applications, however, often receive incomplete inputs such as textual and audio inputs. For example, as a user types or gestures, the input is incomplete at least until the user stops inputting the input. Thus, real-time interpretation of input requires understanding of incomplete input. Real-time understanding of incomplete natural language expressions may improve both computer and user efficiency, as requiring a user to complete the expression wastes user time and slows down the time it takes for a computer to deliver a response to a user. In this regard, digital assistant applications may have the need to interpret incomplete textual inputs and audio inputs.
Interpreting incomplete inputs presents challenges. For example, a user may desire the computer to perform a specific action (or actions) when entering incomplete input. An “action” is any function executable on a computer, e.g., “create a meeting,” “get a route,” “create a task,” “set an alarm,” and the like. A “desired action” is a specific action or actions that a user seeks to perform while entering incomplete input (the desired action(s) will be referred to herein as “the intent of the user” or “user intent”). Some language understanding applications supply autocomplete suggestions to a user based on incomplete input. However, these suggestions fail to address the user's intent, e.g., fail to facilitate performance of a desired action.
It is with respect to these and other general considerations that aspects of the technology have been made. Also, although relatively specific problems have been discussed, it should be understood that the embodiments should not be limited to solving the specific problems identified in the background.